package com.platform.base.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.platform.base.domain.UnitValveInfo;

import java.util.List;

/**
 * 阀门信息Service接口
 * 
 * @author wangqi
 * @date 2020-09-25
 */
public interface IUnitValveInfoService extends IService<UnitValveInfo>
{
    /**
     * 查询阀门信息列表
     * 
     * @param unitValveInfo 阀门信息
     * @return 阀门信息集合
     */
    public List<UnitValveInfo> selectUnitValveInfoList(UnitValveInfo unitValveInfo);

    /**
     * 查询阀门信息
     *
     * @param valveId 阀门Id
     * @return 阀门信息
     */
    public UnitValveInfo selectUnitValveInfoById(String valveId);

    /**
     * 新增阀门信息
     * 
     * @param unitValveInfo 阀门信息
     * @return 结果
     */
    public int insertUnitValveInfo(UnitValveInfo unitValveInfo);

    /**
     * 修改阀门信息
     * 
     * @param unitValveInfo 阀门信息
     * @return 结果
     */
    public int updateUnitValveInfo(UnitValveInfo unitValveInfo);

    /**
     * 批量删除阀门信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteUnitValveInfoByIds(String ids);

    /**
     * 校验阀门是否唯一
     *
     * @param unitValveInfo 阀门信息
     * @return 结果
     */
    public String checkUnitValveUnique(UnitValveInfo unitValveInfo);

   /* *//**
     * 根据采集器ID更新阀门登记状态
     *
     * @param collectorId 采集器信息
     * @return 结果
     *//*
    public int updateUnitValveInfoByCollectorId(String collectorId);*/

    /**
     * 导入阀门信息
     *
     * @param infoList 阀门信息
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importInfo(List<UnitValveInfo> infoList, Boolean isUpdateSupport, String operName);





    /**
     * 设置阀门开度
     *
     * @param valveIds 阀门id
     * @param hex 阀门开度值
     * @return 结果
     */
    public String apertureInfo(String[] valveIds, String hex) throws InterruptedException;



    /**
     * 查询阀门信息列表
     *
     * @param locationId 热信息
     * @return 热信息集合
     */
    public List<UnitValveInfo> selectUnitValveInfoBylocationId(String locationId);
    /**
     * 查询阀门信息列表
     *
     * @param collectorId 热信息
     * @return 热信息集合
     */
    public List<UnitValveInfo> selectUnitValveInfoBycollectorId(String collectorId);


    /**
     * 读取阀门数据
     *
     * @param valveIds 阀门信息
     * @return 结果
     */
    public String checkInfo(String[] valveIds) throws InterruptedException;
    /**
     * PID参数是否远程修改
     *
     * @param valveIds 阀门信息
     * @return 结果
     */
    public String pidsInfo(String[] valveIds) throws InterruptedException;

    /**
     * PID参数是否远程修改
     *
     * @param valveIds 阀门信息
     * @return 结果
     */
    public String pidsfInfo(String[] valveIds) throws InterruptedException;
    /**
     * PID参数是否远程修改
     *
     * @param valveIds 阀门信息
     * @return 结果
     */
    public String pidwInfo(String[] valveIds) throws InterruptedException;

    /**
     * PID参数是否远程修改
     *
     * @param valveIds 阀门信息
     * @return 结果
     */
    public String pidwfInfo(String[] valveIds) throws InterruptedException;

    /**
     * 查询阀门信息列表
     *
     * @return 阀门信息集合
     */
    public List<UnitValveInfo> selectCollectorInfoEq();

    /**
     * 设置阀门温度
     *
     * @param valveIds 阀门id
     * @param hex 阀门温度值
     * @return 结果
     */
    public String tempInfo(String[] valveIds, String hex) throws InterruptedException;

}
